<?php
declare (strict_types = 1);

namespace app\login\controller;

use app\login\business\jwt;
use app\login\lib\phone;
use app\login\model\User;
use think\Request;

class Login
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        //获取登录的参数
        $data = input();
        $obj = new User();
        $res = $obj->login($data['username']);
        if ($res)
        {
            if ($res['password']==$data['password'])
            {
//                引入token保证接口安全
                $token = jwt::createjwt();
                cache('token',$token);
                cache('username',$data['username']);
                return success('登陆成功',$token);
            }
            return fail('密码错误');
        }
        return fail('账号错误');
//        dd($data);
    }

    /**
     *短信验证码登录
     */
    public function create()
    {
        //获取前端输入的手机号码
        $telephone = input('phone');
//        dd($phone);
        $res = phone::phone($telephone);
        if ($res)
        {
            cache('captcha',$res,60);
            return success($res,'');
        }
        return fail($res);
    }

    /**
     *短信验证码验证登录
     */
    public function save(Request $request)
    {
        //获取输入的验证码
        $phone = input('phone');
        $captcha = input('captcha');
//        后端判断是否为空
        if (!empty($captcha))
        {
//            判断验证码是否输入正确
            if ($captcha==cache('captcha'))
            {
                $obj = new User();
                $res = $obj->userAdd($phone);
                if ($res)
                {
                    return success('登陆成功','1');
                }
                return success('登陆成功','');
            }
            return fail('验证码错误');
        }
        return fail('验证码不能为空');
    }

    /**
     * 密码修改功能
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }
}
